package cn.stylefeng.guns.modular.hx.storage.service;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.agv.model.params.TuskAgvTaskParam;
import cn.stylefeng.guns.modular.hx.storage.entity.HxXhTransport;
import cn.stylefeng.guns.modular.hx.storage.model.params.HxXhTransportParam;
import cn.stylefeng.guns.modular.hx.storage.model.result.HxXhTransportResult;
import cn.stylefeng.roses.core.reqres.response.ResponseData;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 货物搬运 服务类
 * </p>
 *
 * @author ZDW
 * @since 2024-07-25
 */
public interface HxXhTransportService extends IService<HxXhTransport> {

    /**
     * 新增
     *
     * @author ZDW
     * @Date 2024-07-25
     */
    void add(HxXhTransportParam param);

    /**
     * 删除
     *
     * @author ZDW
     * @Date 2024-07-25
     */
    void delete(HxXhTransportParam param);

    /**
     * 更新
     *
     * @author ZDW
     * @Date 2024-07-25
     */
    void update(HxXhTransportParam param);

    /**
     * 查询单条数据，Specification模式
     *
     * @author ZDW
     * @Date 2024-07-25
     */
    HxXhTransportResult findBySpec(HxXhTransportParam param);

    /**
     * 查询列表，Specification模式
     *
     * @author ZDW
     * @Date 2024-07-25
     */
    List<HxXhTransportResult> findListBySpec(HxXhTransportParam param);

    /**
     * 查询分页数据，Specification模式
     *
     * @author ZDW
     * @Date 2024-07-25
     */
     LayuiPageInfo findPageBySpec(HxXhTransportParam param,String condition);

    /**
     * 创建任务
     * @param param
     * @return
     */
    ResponseData addTask(HxXhTransportParam param);

    /**
     * 查询所有已领取的
     * @param hxXhTransportParam
     * @param condition
     * @return
     */
    List<HxXhTransport> queryAllItem(HxXhTransportParam hxXhTransportParam, String condition);

    HxXhTransportResult findcheckBySpec(HxXhTransportParam hxXhTransportParam1);

    HxXhTransportResult findCountGoodsBySpec(HxXhTransportParam hxXhTransportParam);
}
